1. Field of the Invention
The present invention relates to a data reading apparatus for efficiently reading data recorded on a disc type recording medium, such as an optical disc or a magnetic disc, and a data reading method.
2. Related Background Art
Hitherto, data compressed and encoded by, for example, MPEG (Moving Picture Experts Group), is recorded on a recording medium, such as an optical disc. An apparatus for reproducing an optical disc incorporates an optical head for reading data from the optical disc; a decoding circuit for decoding read data; a buffer memory in which data supplied from the decoding circuit is stored; and a controller for controlling the operation of the optical head for reading data and that for reading data from the buffer memory. Since an amount of data which must be decoded varies depending on the compression ratio of data recorded on the optical disc, the decoding circuit cannot output data at a predetermined rate. Therefore, the apparatus for reproducing an optical disc has a buffer memory for absorbing variation in the input/output rate.
Input rate Rin set to the buffer memory is the same as an amount of data per unit time when data is being read from the optical disc, as shown in FIG. 1. When the optical head is being moved on the optical disc, the input rate Rin is zero. The foregoing period of time corresponds to jump time. Although the input rate Rin is a constant value or variable value at a lowest rate, the average input rate is made to be a constant value.
Output rate Rout set to the buffer memory indicates an amount of data per unit time which is output from the buffer memory, as shown in FIG. 2. That is, the output rate Rout is a constant value.
As shown in FIG. 3, data obtained by time-integrating input/output rate Rinxe2x88x92Rout which is a result of subtraction of the output rate Rout from the input rate Rin is accumulated in the buffer memory. When the input rate Rin greater than 0, the input rate Rin is always higher than the output rate Rout. Therefore, the input/output rate Rinxe2x88x92Rout takes positive values, causing a graph ascending to the right to be formed. If the input rate Rin=0, a graph descending to the right is formed.
Since the capacity of the buffer memory is a finite value, exhaustion of data (underflow) occurs when the amount of data accumulated in the buffer memory is made to be zero. At this time, a constant value of the output rate Rout cannot be maintained. If data is accumulated in the buffer memory to a limit of the capacity of the buffer memory, the optical head cannot read data from the optical disc. In this case, formation of an available storage region in the buffer memory in which data can be accumulated must be waited for. At this time, a kickback operation is performed. The kickback operation is an operation for interrupting reading of data from the optical disc until the available capacity is formed in the buffer memory. Moreover, an operation for reading data from the optical disc is performed after the available capacity has been created.
If a plurality of data units are discretely recorded on the optical disc, the controller must cause the optical head to jump over tracks to read each file when the data unit are read. If a trackjump is performed, data is not read in this period of time. Thus, a data processing operation or the like is delayed. Therefore, shortening of time for which the jump over tracks is completed has been required.
Since reading of data from the optical disc must intermittently be limited during the kickback operation, there arises a problem in that a long time is required to complete the data reading process.
In view of the foregoing, an object of the present invention is to provide a data reading apparatus and a data reading method which are capable of efficiently reading data from a recording medium so as to raise data processing speed.
To achieve the above-mentioned object, according to one aspect of the present invention, there is provided a data reading apparatus including: reading means for reading a plurality of data units recorded on a disc-shape recording medium; storage means for storing the data units read by the reading means; and control means for calculating track jump time which is taken when the reading means reads the data units in accordance with permutations of the data units which can be combined, selecting a permutation of the data units with which the track jump time can be made shortest and controlling the reading means to read the plural data units in accordance with the selected permutation.
The data reading apparatus calculates track jump time when the reading means reads files in permutations of the files which can be combined. A permutation of the files with which the track jump time can be made shortest is selected. The reading means is controlled to read the plural files in accordance with the selected permutation of the files. The data units may be record data units, such as ECC block sectors, files, program units, a plurality of record data units or a plurality of program units, which are recorded on a disc-shape recording medium.
According to another aspect of the present invention, there is provided a data reading method such that a plurality of data units recorded on a disc-shape recording medium are read by reading means, the data reading method including the steps of:
storing data units read by the reading means; controlling the storage means such that the stored data units are read in a predetermined order; calculating track jump time which is taken when the reading means reads the data units in accordance with permutations of the data unit which can be combined; selecting a permutation with which the track jump time can be made shortest; and controlling the reading means to read the plural data units in accordance with the selected permutation.
The data reading method according to the present invention is arranged to calculate track jump time when the reading means reads the data units in accordance with permutations of the data units which can be combined. A permutation of the data units with which the track jump time can be made shortest is selected. The reading means is controlled to read the plural data units in accordance with the selected permutation.
The data units may be record data units, such as ECC block sectors, files, program units, a plurality of record data units or a plurality of program units, which are recorded on a disc-shape recording medium.
According to another aspect of the present invention, there is provided a data reading apparatus including: reading means for reading a plurality of data units recorded on a disc-shape recording medium; storage means for storing the data units supplied from the reading means at a predetermined rate; and control means for switching a first operation mode for intermittently limiting reading of the data units which is performed by the reading means when an amount of data has been enlarged to a limit of the capacity of the storage means when the reading means is reading a first data unit and a second operation mode for controlling the reading means to interrupt reading of the first data unit and read another data unit after which a residual portion of the first data unit is read, wherein when the amount of data has been enlarged to the limit of the capacity of the storage means when the first data unit is being read from the disc-shape recording medium, the control means subjects total time which is taken when the first and the other data units are read in a predetermined order and total time which is taken when reading of the first data unit is interrupted and reading of the other data unit is first performed after which the residual portion of the first data unit is read to a comparison so as to switch the mode to the second mode when the total time which is taken when the data units are read in the predetermined order is longer than the other total time and switch the mode to the first mode when the total time which is taken when the data units are read in the predetermined order is not longer than the other total time.
In the data reading apparatus according to the present invention, when an amount of data has been enlarged to a limit of the capacity of the storage means during reading of a first data unit, total time which is taken when the first data unit and other data units are read in a predetermined order and total time which is taken when reading of the first data unit is interrupted and reading of the other file is first performed after which a residual portion of the first data unit are subject to a comparison. When the total time which is taken when the data units are read in the predetermined order is longer than the other total time, the mode is switched to the second mode. When the total time which is taken when the data units are read in the predetermined order is not longer, the mode is switched to the first mode. The data units may be record data units, such as ECC block sectors, files, program units, a plurality of record data units or a plurality of program units, which are recorded on a disc-shape recording medium.
According to another aspect of the present invention, there is provided a data reading method such that a plurality of data unit recorded on a disc-shape recording medium are read by reading means, the data reading method including the steps of: storing data units supplied from the reading means at a predetermined rate; subjecting total time which is taken when first and another data units are read in a predetermined order and total time which is taken when reading of the first data unit is interrupted and reading of the other data unit is first performed after which the residual portion of the first data unit is read to a comparison when an amount of data has been enlarged to the limit of the capacity of storage means when the first data unit is being read from the disc-shape recording medium; switching the mode to an operation mode for controlling the reading means to interrupt reading of the first data and read another data unit after which a residual portion of the first data unit is read when total time which is taken when the data units are read in the predetermined order is longer than the other total time and switching the mode to an operation mode for intermittently limiting reading of data which is performed by the reading means when the total time which is taken when the data units are read in the predetermined order is not longer than the other total time.
With the data reading method according to the present invention, when an amount of data has been enlarged to a limit of the capacity of the storage means during reading of a first data unit, total time which is taken when the first data unit and other data units are read in a predetermined order and total time which is taken when reading of the first data unit is interrupted and reading of the other file is first performed after which a residual portion of the first data unit are subject to a comparison. When the total time which is taken when the data units are read in the predetermined order is longer than the other total time, the mode is switched to an operation mode for interrupting reading of the first data unit and reading of the other data unit is performed after which the residual portion of the first data unit is read. When the total time which is taken when the data units are read in the predetermined order is not longer than the other total time, the mode is switched to an operation mode for controlling reading of the data units which is performed by the reading means to intermittently be limited. The data units may be record data units, such as ECC block sectors, files, program units, a plurality of record data units or a plurality of program units, which are recorded on a disc-shape recording medium.
Other objects, features and advantages of the invention will be evident from the following detailed description of the preferred embodiments described in conjunction with the attached drawings.